   // 封装队列类
    function Queue() {
      // 属性
      this.items = []
      // 方法
      // 1.enqueue(element)：向队列尾部添加一个（或多个）新的项。
      Queue.prototype.enqueue = function(element) {
        return this.items.push(element)
      }
      // 2.dequeue()：移除队列的第一（即排在队列最前面的）项，并返回被移除的元素。
      Queue.prototype.dequeue = function() {
        return this.items.shift()
      }
      // 3.front()：返回队列中第一个元素——最先被添加，也将是最先被移除的元素。队列不做任何变动（不移除元素，只返回元素信息——与Stack类的peek方法非常类似）。
      Queue.prototype.front = function() {
        return this.items[0]
      }
      // 4.isEmpty()：如果队列中不包含任何元素，返回true，否则返回false。
      Queue.prototype.isEmpty = function() {
        return this.items.length == 0
      }
      // 5.size()：返回队列包含的元素个数，与数组的length属性类似。
      Queue.prototype.size = function() {
        return this.items.length
      }
      // 6.toString方法
      Queue.prototype.toString = function() {
        resultString = items.join() + ''
        return resultString
      }
      // 7.清空队列
      Queue.prototype.clear = function() {
        return this.items = []
      }

    }